import sys, os, io
input = io.BytesIO(os.read(0, os.fstat(0).st_size)).readline
s = list(input().rstrip().decode().split())
x = ["lios", "liala", "etr", "etra", "initis", "inites"]
n = len(s)
u = [-1] * n
for i in range(n):
s0 = s[i]
for j in range(6):
if s0[-len(x[j]):] == x[j]:
u[i] = j
break
if n == 1:
ans = "YES" if u[0] ^ -1 else "NO"
print(ans)
exit()
v = []
la = u[0]
for i in u:
if la ^ i:
v.append(la)
la = i
v.append(la)
ans = "YES"
if min(v) == -1:
ans = "NO"
for i in range(len(v) - 1):
if not v[i] + 2 == v[i + 1]:
ans = "NO"
if not u.count(2) + u.count(3) == 1:
ans = "NO"
print(ans)
1711B - Party | 1702D - Not a Cheap String |
1714F - Build a Tree and That Is It | 1703F - Yet Another Problem About Pairs Satisfying an Inequality |
610A - Pasha and Stick | 1200A - Hotelier |
1091A - New Year and the Christmas Ornament | 1352B - Same Parity Summands |
1102A - Integer Sequence Dividing | 630B - Moore's Law |
1004A - Sonya and Hotels | 1680B - Robots |
1690A - Print a Pedestal (Codeforces logo) | 1295A - Display The Number |
1077A - Frog Jumping | 1714G - Path Prefixes |
1369C - RationalLee | 289B - Polo the Penguin and Matrix |
1716A - 2-3 Moves | 1670B - Dorms War |
1716B - Permutation Chain | 987A - Infinity Gauntlet |
1676G - White-Black Balanced Subtrees | 1716D - Chip Move |
1352F - Binary String Reconstruction | 1487B - Cat Cycle |
1679C - Rooks Defenders | 56A - Bar |
1694B - Paranoid String | 35A - Shell Game |